package com.xueyi.system.plantManager.domain.po;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import cn.hutool.json.JSONArray;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xueyi.common.core.web.tenant.base.TBaseEntity;
import com.xueyi.system.plantManager.domain.dto.BasePlantManagerDto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.xueyi.common.core.annotation.Excel;

/**
 * 种植管理 持久化对象
 *
 * @author zlf
 */
@TableName(value = "base_plant_manager", excludeProperty = { "sort", "status"}, autoResultMap = true)
public class BasePlantManagerPo extends TBaseEntity {

    private static final long serialVersionUID = 1L;


    /**
     * 种苗id
     */
    @Excel(name = "种苗id")
    @TableField("seed_id")
    private String seedId;

    /**
     * 种苗名称
     */
    @Excel(name = "种苗名称")
    @TableField("seed_name")
    private String seedName;

    /**
     * 种子批号
     */
    @Excel(name = "种子批号")
    @TableField("seed_batch")
    private String seedBatch;

    /**
     * 地块id
     */
    @Excel(name = "基地id")
    @TableField(value = "area_id", typeHandler = FastjsonTypeHandler.class)
    private JSONArray areaId;


    /**
     * 地块名称
     */
    @Excel(name = "基地名称")
    @TableField("area_name")
    private String areaName;

    /**
     * 地块id
     */
    @Excel(name = "地块id")
    @TableField(value = "pacel_id", typeHandler = FastjsonTypeHandler.class)
    private JSONArray pacelId;


    /**
     * 地块名称
     */
    @Excel(name = "地块名称")
    @TableField("pacel_name")
    private String pacelName;

    /**
     * 种植种类
     */
    @Excel(name = "种植种类Id")
    @TableField("plant_type_id")
    private String plantTypeId;

    /**
     * 种植种类(1早贡菊 2中贡菊 3晚贡菊 4 金贡菊1号 5七月菊)
     */
    @Excel(name = "种植种类(1早贡菊 2中贡菊 3晚贡菊 4 金贡菊1号 5七月菊)")
    @TableField("plant_type")
    private String plantType;


    /**
     * 种植品种
     */
    @Excel(name = "种植品种")
    @TableField("plant_variety_id")
    private String plantVarietyId;


    /**
     * 种植品种
     */
    @Excel(name = "种植品种")
    @TableField("plant_variety")
    private String plantVariety;
    /**
     * 种植品种
     */
    @Excel(name = "种植品种图片")
    @TableField("plant_variety_url")
    private String plantVarietyUrl;

    /**
     * 种植标准(1有机、2绿色、3普通)
     */
    @Excel(name = "种植标准(1有机、2绿色、3普通)")
    @TableField("plant_standard")
    private String plantStandard;

    /**
     * 种植方式(1直播 2移栽)
     */
    @Excel(name = "种植方式(1直播 2移栽)")
    @TableField("plant_method")
    private String plantMethod;

    /**
     * 作业方式(1人工 2机械)
     */
    @Excel(name = "作业方式(1人工 2机械)")
    @TableField("assignment_style")
    private String assignmentStyle;

    /**
     * 播种、移栽时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "播种、移栽时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("sowing_time")
    private LocalDateTime sowingTime;

    /**
     * 预计采收时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "预计采收时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("harvest_time")
    private LocalDateTime harvestTime;

    /**
     * 预计采收季节
     */
    @Excel(name = "预计采收季节")
    @TableField("harvest_season")
    private String harvestSeason;

    /**
     * 预计亩产
     */
    @Excel(name = "预计亩产")
    @TableField("estimated_per_mu")
    private BigDecimal estimatedPerMu;

    /**
     * 种植状态
     */
    @Excel(name = "种植状态")
    @TableField("plant_status")
    private String plantStatus;

    @Excel(name = "负责人")
    @TableField("kahuna_id")
    private String kahunaId;

    @Excel(name = "扦插")
    @TableField("cuttage")
    private String cuttage;

    @Excel(name = "平均用量")
    @TableField("avg_use")
    private String avgUse;


    public String getHarvestSeason() {
        return harvestSeason;
    }

    public void setHarvestSeason(String harvestSeason) {
        this.harvestSeason = harvestSeason;
    }

    public String getAvgUse() {
        return avgUse;
    }

    public void setAvgUse(String avgUse) {
        this.avgUse = avgUse;
    }

    public String getCuttage() {
        return cuttage;
    }

    public void setCuttage(String cuttage) {
        this.cuttage = cuttage;
    }

    public String getKahunaId() {
        return kahunaId;
    }

    public void setKahunaId(String kahunaId) {
        this.kahunaId = kahunaId;
    }

    public JSONArray getAreaId() {
        return areaId;
    }

    public void setAreaId(JSONArray areaId) {
        this.areaId = areaId;
    }

    public JSONArray getPacelId() {
        return pacelId;
    }

    public void setPacelId(JSONArray pacelId) {
        this.pacelId = pacelId;
    }


    public String getSeedId() {
        return seedId;
    }

    public void setSeedId(String seedId) {
        this.seedId = seedId;
    }

    public String getSeedName() {
        return seedName;
    }

    public void setSeedName(String seedName) {
        this.seedName = seedName;
    }

    public String getSeedBatch() {
        return seedBatch;
    }

    public void setSeedBatch(String seedBatch) {
        this.seedBatch = seedBatch;
    }


    public String getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public String getPlantTypeId() {
        return plantTypeId;
    }

    public void setPlantTypeId(String plantTypeId) {
        this.plantTypeId = plantTypeId;
    }

    public String getPlantVarietyId() {
        return plantVarietyId;
    }

    public void setPlantVarietyId(String plantVarietyId) {
        this.plantVarietyId = plantVarietyId;
    }

    public String getPlantVarietyUrl() {
        return plantVarietyUrl;
    }

    public void setPlantVarietyUrl(String plantVarietyUrl) {
        this.plantVarietyUrl = plantVarietyUrl;
    }

    public String getPlantStatus() {
        return plantStatus;
    }

    public void setPlantStatus(String plantStatus) {
        this.plantStatus = plantStatus;
    }

    public void setPlantType(String plantType) {
        this.plantType = plantType;
    }

    public String getPlantType() {
        return plantType;
    }

    public void setPlantVariety(String plantVariety) {
        this.plantVariety = plantVariety;
    }

    public String getPlantVariety() {
        return plantVariety;
    }

    public void setPlantStandard(String plantStandard) {
        this.plantStandard = plantStandard;
    }

    public String getPlantStandard() {
        return plantStandard;
    }

    public void setPlantMethod(String plantMethod) {
        this.plantMethod = plantMethod;
    }

    public String getPlantMethod() {
        return plantMethod;
    }

    public void setAssignmentStyle(String assignmentStyle) {
        this.assignmentStyle = assignmentStyle;
    }

    public String getAssignmentStyle() {
        return assignmentStyle;
    }

    public void setSowingTime(LocalDateTime sowingTime) {
        this.sowingTime = sowingTime;
    }

    public LocalDateTime getSowingTime() {
        return sowingTime;
    }

    public void setHarvestTime(LocalDateTime harvestTime) {
        this.harvestTime = harvestTime;
    }

    public LocalDateTime getHarvestTime() {
        return harvestTime;
    }

    public void setEstimatedPerMu(BigDecimal estimatedPerMu) {
        this.estimatedPerMu = estimatedPerMu;
    }

    public BigDecimal getEstimatedPerMu() {
        return estimatedPerMu;
    }


    public String getPacelName() {
        return pacelName;
    }

    public void setPacelName(String pacelName) {
        this.pacelName = pacelName;
    }

}
